#ifndef _KLIB_H_
#define _KLIB_H_
#include "type.h"

///
/// 内存复制函数
void	memcpy(void* dst, void* src,u32 sz);
void    memset(void* dst, u8 val, u32 sz);

/* 复制字符串 */
u32 strcpy(void* src, void* dest);
/* 计算字符串长度 */
u32 strlen(const char* s);
/// 显示字符串
/// s 字符串
/// info 对字符串的描述,颜色位置 
void	disp_str(char* s,u32 info);
void    disp_u32(u32 val,u32 info);

///输出字符串
void putchar(char *chs);
///清除屏幕
void    cls();

void itoa(char *buff, u32 val, u32 rad);

///向port端口输出val
void out_byte(u16 port, u8 val);

///从port端口获得数据
u8 in_byte(u16 port);
void port_write(u16 port, void* buf, int n);
void port_read(u16 port, void* buf, int n);
void ipanic();

///关中断
void disable_int();
///开中断
void enable_int();
#endif